#include<linux/module.h>
#include<linux/interrupt.h>
MODULE_LICENSE("GPL");
static int irq=3;
static irqreturn_t irq_handler(int data,void *dev_id)
{
	printk("the data is:%d\n",data);
	printk("in the interrupt handler function\n");
	return IRQ_NONE;
}
static int __init enable_irq_wake_init(void)
{
	int result=0,result1=0;
	printk("into enable_irq_wake_init\n");
	result=request_irq(irq,irq_handler,IRQF_DISABLED,"A_new_device4",NULL);
	result1=enable_irq_wake(irq);
	printk("the request_irq result is :%d\n",result);
	printk("the enable_irq_wake result is:%d\n",result1);

	printk("out enable_irq_wake_init\n");
	return 0;
}
static void __exit enable_irq_wake_exit(void)
{
	free_irq(irq,NULL);
	printk("Goodbye enable_irq_wake\n");
	return;
}
module_init(enable_irq_wake_init);
module_exit(enable_irq_wake_exit);
